/**
 * @overview 2D环形图实现类。
 * 若单独引用js文件，此图表依赖dist中的以下文件：
 * ichartjs.base.js(Required)
 * ichartjs.pie.js(Required)
 * @component#@chart#iChart.Donut2D
 * @extend#iChart.Pie
 */
iChart.Donut2D = iChart.extend(iChart.Pie, {
	/**
	 * initialize the context for the pie2d
	 */
	configure : function() {
		/**
		 * invoked the super class's configuration
		 */
		iChart.Donut2D.superclass.configure.call(this);
		
		this.type = 'pie2d';
		
		this.set({
			/**
			 * @cfg {Number} 环形的宽度，如果给出的值小于1，按照百分比*半径计算。(默认为 0.3)
			 */
			donutwidth : 0.3,
			/**
			 * @cfg {Object/String}环形中心文本的配置项，若给出字符串，则用默认配置进行渲染标题，若给出对象，则配置为 <link>iChart.Text</link>对象。如果text属性为空则不显示标题。
			 */
			center : {
				text:'',
				line_height:24,
				offsety:-8,
				fontweight : 'bold',
				/**
				 * Specifies the font-size in pixels of center text.(默认为 24)
				 */
				fontsize : 24
			}
		});
	},
	doSector:function(){
		return  new iChart.Sector2D(this.get('sector'), this);
	},
	doConfig : function() {
		iChart.Donut2D.superclass.doConfig.call(this);
		
		var _ = this._(),d='donutwidth',r = _.r;
		/**
		 * quick config to all rectangle
		 */
		_.push('sector.radius',r)
		if(_.get(d)>0){
			if(_.get(d)<1){
				_.push(d,Math.floor(r*_.get(d)));
			}else if(_.get(d)>=r){
				_.push(d,0);
			}
			_.push('sector.donutwidth',_.get(d));
		}
		
		
		_.data.each(function(d,i){
			_.doParse(d,i);
		},_);
		
		_.components.push(_.sectors);
	}
});//@end